package com.pope.framework.triage.modular.entity;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.pope.framework.triage.modular.entity.base.TriageInfoBase;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;

import javax.validation.constraints.Digits;
import javax.validation.constraints.Max;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;

import org.hibernate.validator.constraints.Length;

/**
 * <p>
 * 分诊信息
 * </p>
 *
 * @author superpope
 * @since 2019-01-14
 */
@Data
@TableName("t_triage_triage_info")
@ApiModel(description= "分诊信息")
public class TriageInfo extends TriageInfoBase implements Serializable {

    private static final long serialVersionUID = 1L;
    
    /**
     * 分诊来时

     */
    @TableField("COMING_GRADE")
    @ApiModelProperty(value = "分诊来时分级ID",dataType="Integer")
    private Integer comingGrade;

    /**
     * 分诊更改分级
     */
    @TableField("CHANGE_GRADE")
    @ApiModelProperty(value = "分诊更改分级ID",dataType="Integer")
    private Integer changeGrade;
    
    @TableField("AUTO_GRADE")
    @ApiModelProperty(value = "自动分级ID",dataType="Integer")
    private Integer autoGrade;
    
    
    
    @TableField("CHANGE_GRADE_RESON")
    @ApiModelProperty(value = "分诊更改分级原因",dataType="String")
    @Length(max=1000,message="自动分级ID最大长度为1000")
    private String changeGradeReson;

    /**
     * 分诊去向
     */
    @TableField("WHERE_ABOUTS")
    @ApiModelProperty(value = "分诊去向ID",dataType="String")
    @Length(max=40,message="自动分级ID最大长度为4")
    private String whereAbouts;

    /**
     * 分诊科室
     */
    @TableField("DEPART")
    @ApiModelProperty(value = "分诊科室ID",dataType="Integer")
    private Integer depart;
    

    /**
     * 分诊状态
     */
    @TableField("TRIAGE_STATE")
    @ApiModelProperty(value = "分诊状态1待评估2已评估,无需填写",dataType="String")
    @Length(max=4,message="分诊状态最大长度为4")
    private String triageState;

    /**
     * 转入医院
     */
    @TableField("TO_HOSPITAL")
    @ApiModelProperty(value = "转入医院ID",dataType="Integer")
    private Integer toHospital;
    

    /**
     * 创建时间
     */
    @TableField(value = "CREATETIME",fill=FieldFill.INSERT)
    @ApiModelProperty(value = "创建时间，新增修改无需填写,填写无效",dataType="String")
    private String createtime;

  

    /**
     * 修改时间
     */
    @TableField(value = "UPDATETIME",fill=FieldFill.INSERT_UPDATE)
    @ApiModelProperty(value = "创建时间，新增修改无需填写,填写无效",dataType="String")
    private String updatetime;
   

    /**
     * 版本号
     */
    @TableField("VERSION")
    @ApiModelProperty(value = "版本，新增修改无需填写",dataType="String")
    private Integer version;
    
    /**
     * 分诊编号
     */
    @TableField("EMERGENCY_NUMBER")
    @ApiModelProperty(value = "分诊编号，无需填写，填写无效",dataType="String")
    @Length(max=40,message="转入医院ID最大长度为40")
    private String emergencyNumber;
    /**
     * 医院ID
     */
    @TableField("HOSPITAL_ID")
    
    @ApiModelProperty(value = "医院ID",dataType="String",required=true)
    @NotNull(message="医院ID不能为空")
    private Integer hospitalId;
    
    @TableField("CONTENT")
    
    @ApiModelProperty(value = "备注",dataType="String")
    @Length(max=1000,message="转入医院ID最大长度为1000")
    private String content;
    
    @TableField(value="CREATE_MAN",fill=FieldFill.INSERT)
    @ApiModelProperty(value = "创建人,可不用填写，填写无效",dataType="String")
    private String  createMan;
    
    /**
     * 操作员标识
     */
    @TableField(value="SITE_ID",fill=FieldFill.INSERT_UPDATE)
    @ApiModelProperty(value = "租户字段,可不用填写，填写无效")
    private Integer siteId;
    /**
     * 操作员标识
     */
    @TableField(value="STAFF_ID",fill=FieldFill.INSERT_UPDATE)
    @ApiModelProperty(value = "操作员标识,可不用填写，填写无效",dataType="Integer")
    private Integer staffId;
    /**
     * 备注
     */
    @TableField("REMARK")
    @ApiModelProperty(value = "备注",dataType="String")
    private String remark;
    
    
    @TableField("COMING_CHANNEL")
    @ApiModelProperty(value = "来院途径",dataType="String")
    private String comingChannel;
    @TableField("COMING_CHANNEL_HOSPITAL")
    @ApiModelProperty(value = "来院途径医院",dataType="String")
    private String comingChannelHospital;
    
    @ApiModelProperty(value = "病痛等级",dataType="String")
    private String sicknessGrade;
   
}
